<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Design by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution 2.5 License
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>CSC560 Design and Analysis of Real-Time Systems</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="../default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
	<div id="header">
		<h1>CSC560</h1>
		<h2>Design and Analysis of Real-Time Systems</h2>
		<ul>
			<li class="first">
				<a href="../index.html" accesskey="1" title="">Home</a>
			</li>
			<li>
				<a href="../project1/index.html" accesskey="2" title="">Project 1</a>
			</li>
			<li>
				<a href="index.html" accesskey="3" title=""><b>Project 2</b></a>
			</li>
			<li>
				<a href="../project3/index.html" accesskey="4" title="">Project 3</a>
			</li>
			<li>
				<a href="../project4/index.html" accesskey="4" title="">Project 4</a>
			</li>
			<li>
				<a href="../project5/index.html" accesskey="4" title="">Project 5</a>
			</li>
		</ul>
	</div>
</div>
<div id="content">
	<div id="colOne">
		<h2>Scheduling tasks with RTOS</h2>
		<p>
			Part 2 of the project requires to translate the solution of project 1 into a multi-threaded application that uses RTOS. For this part of the project, 
			we are given the source code and documentation of RTOS.
		</p>
		<p>
			The RTOS supports three scheduling levels: SYSTEM, PERIODIC, and ROUND ROBIN. There are three main requirements and all involve reimplementing our Project 1 by applying different scheduling policies to tasks. 
			As discussed in previous sections, we have created four main tasks for this purpose: Joystick task, Radio Transmission task, Radio Receiving task, & UART task. The three requirements are:
			<ul>
				<li>
					(1) Run all tasks as PERIODIC tasks
				</li>
				<li>
					(2) Run all tasks as a mixture of SYSTEM and ROUND ROBIN tasks
				</li>
				<li>
					(3) Use events to coordinate tasks with (2) above.
				</li>
			</ul>
		</p>

		<p>
			The following state diagram shows how a task in RTOS transitting its state.
		</p>

		<p>
			<a href="../images/State_Task.jpg"><img src="../images/State_Task.jpg" alt="Task State Diagram" width="100%"/> </a>
		</p>
		<p >
			<a href="http://jwtanner.com/csc460/Report2/scheduler.html">[Extracted from
			a previous report by Justin and Scott]</a>
		</p>
		
	</div>
	<div id="colTwo">
		<h3>Project Sections</h3>
		<ul>
			<li class="first"><a href="part1.html">Time Measurements</a></li>
			<li>	<a href="part2.html">Scheduling Tasks with RTOS</a></li>
			<li>-	<a href="part2sub1.html">Periodic</a></li>
			<li>-	<a href="part2sub2.html">System and Round Robin</a></li>
			<li>-	<a href="part2sub3.html">Event Coordinated</a></li>
						<li>	<a href="doxygen/html/index.html">Doxygen</a></li>
						<li><a href="http://code.google.com/p/wireless-roomba">Google Code</a></li>

		</ul>
	</div>
</div>
<div id="footer">
	<p>@ 2009. All Rights Reserved. Design by <a href="http://www.freecsstemplates.org/">Free CSS Templates</a>.</p>
</div>
</body>
</html>
